This invention relates to a method and system for responding to interrupt requests in a peripheral data handling unit.
Data processing systems may be organized in a variety of configurations, using a variety of combinations of computer and computer peripheral equipment. One commonly used configuration involves employment of a mainframe host computer, such as an IBM 4300 or 370 series, for performing the primary storage, computational and data processing functions, peripheral units such as printers, video display terminals, keyboard input units, multiplexers, etc., a communication controller such as an IBM 3274 controller for controlling communications between the host computer and the peripheral units, and a communications system incorporating, for example, a pair of modems and a telephone line for interconnecting the communications controller and the host computer. With this configuration, the host computer may operate in parallel with the peripheral units, be interrupted by the peripheral units, and interrupt the peripheral units, all in the course of carrying out data processing functions.
In order to efficiently manage communications between the host computer and the peripheral units, it is necessary that the communications controller operate as rapidly as possible to contact (interrupt), establish communication connections with, pass information to, and terminate connections with the peripheral units. This requirement of speed for the communications controller, although increasing overall efficiency of the system, imposes corresponding speed requirements on the peripheral units. In particular, the peripheral units must generally respond to interrupt requests from the communications controller within a predetermined period of time, (for example, by generating an appropriate acknowledgment signal) or lose contact with the communications controller.
One prior art approach to increasing the speed of peripheral units so that they can interface with communication controllers is simply to provide the peripheral units with faster, more powerful and thus more costly control elements, such as microprocessors. With the faster control elements, the processing steps necessary to respond to an interrupt request can be carried out within the time allowed by the communications controller. These steps might, for example, include a vectoring jump, and table look-up sequence to find the address in memory where there are stored the instructions for handling the interrupt request. This sequence, especially the table look-up portion, can be very time consuming unless extra fast control elements are employed and these, as indicated, are costly.